// 导入express模块
import express from 'express';
// 导入cors模块，用于解决跨域问题
import cors from 'cors';
// 导入body-parser模块，用于解析请求体
import bodyParser from 'body-parser';
// 导入path模块，用于处理文件路径
import path from 'path';

// 导入helloEndpoints模块，用于处理hello相关的接口
import helloEndpoints from './endpoints/hello';

// 获取当前文件的目录路径
const __dirname = path.dirname(new URL(import.meta.url).pathname);

// 创建一个express应用
const app = express();
// 创建一个express路由
const apiRouter = express.Router();
// 设置端口号
const PORT = 3002;
// 设置文件上传大小限制
const FILE_LIMIT = "3GB";

// 静态资源托管
const staticDir = path.join(__dirname, 'www');  // 获取www目录的绝对路径
app.use(express.static(staticDir));  // 托管静态资源

console.log(staticDir)

// 中间件
app.use(cors({ origin: true }));  // 处理跨域请求
app.use(bodyParser.text({ limit: FILE_LIMIT }));  // 处理文本请求
app.use(bodyParser.json({ limit: FILE_LIMIT }));  // 处理JSON请求
// 处理URL编码的请求
app.use(
  bodyParser.urlencoded({
    limit: FILE_LIMIT,
    extended: true,
  })
); 

// 使用/api路径，将apiRouter路由器添加到app中
app.use("/api", apiRouter); 
// 调用helloEndpoints函数，将apiRouter作为参数传入
helloEndpoints(apiRouter);

// 启动服务器
app.listen(PORT, () => {
  console.log(`Server is running on http://localhost:${PORT}`);
});